/*
 * ConsultasHelper.java
 *
 * Created on 8 de marzo de 2007, 05:06 PM
 *
 * To change this template, choose Tools | Options and locate the template under
 * the Source Creation and Management node. Right-click the template and choose
 * Open. You can then make changes to the template in the Source Editor.
 */

package com.src.computec.radar.services.utilities.consultas.helper;

import com.src.computec.radar.base.dao.exception.DAOException;
import com.src.computec.radar.base.ldap.dto.LdapUserDto;
import com.src.computec.radar.services.utilities.dao.BaseClienteDAO;
import com.src.computec.radar.services.utilities.dao.BaseDocumentoDAO;
import com.src.computec.radar.services.utilities.dao.BaseEmDao;
import com.src.computec.radar.services.utilities.dao.BaseEnvioMovimientoDAO;
import com.src.computec.radar.services.utilities.dao.BaseFileManagerDAO;
import com.src.computec.radar.services.utilities.dao.BaseInsertoDAO;
import com.src.computec.radar.services.utilities.dao.BaseNodoDAO;
import com.src.computec.radar.services.utilities.dao.BaseParametroBusquedaDAO;
import com.src.computec.radar.services.utilities.dao.BasePrioridadReclamoDAO;
import com.src.computec.radar.services.utilities.dao.BaseProductoDAO;
import com.src.computec.radar.services.utilities.dao.BaseProveedorDAO;
import com.src.computec.radar.services.utilities.dao.BaseSegmentoProductoDAO;
import com.src.computec.radar.services.utilities.dao.BaseSubProductoDAO;
import com.src.computec.radar.services.utilities.dao.BaseTipoEnvioDAO;
import com.src.computec.radar.services.utilities.dao.BaseTipoReclamoDAO;
import com.src.computec.radar.services.utilities.dto.ClienteDto;
import com.src.computec.radar.services.utilities.dto.EnvioDto;
import com.src.computec.radar.services.utilities.dto.ProductoDto;
import com.src.computec.radar.services.utilities.dto.ProveedorDto;
import com.src.computec.radar.services.utilities.base.helper.BaseHelper;
import com.src.computec.radar.services.utilities.consultas.exception.ConsultasException;
import com.src.computec.radar.services.utilities.dao.BaseCentroPobladoDAO;
import com.src.computec.radar.services.utilities.dao.BaseCicloDAO;
import com.src.computec.radar.services.utilities.dao.BaseClienteRegionalDAO;
import com.src.computec.radar.services.utilities.dao.BaseDepartamentoDAO;
import com.src.computec.radar.services.utilities.dao.BaseEnvioDAO;
import com.src.computec.radar.services.utilities.dao.BaseEstadoDespachoDAO;
import com.src.computec.radar.services.utilities.dao.BaseEstadoReclamoDAO;
import com.src.computec.radar.services.utilities.dao.BaseGestionEnvioDAO;
import com.src.computec.radar.services.utilities.dao.BaseLdapDAO;
import com.src.computec.radar.services.utilities.dao.BaseMunicipioDAO;
import com.src.computec.radar.services.utilities.dao.BaseTipoDestinoDAO;
import com.src.computec.radar.services.utilities.dao.BaseTipoTarifaDAO;
import com.src.computec.radar.services.utilities.dto.CicloDto;
import com.src.computec.radar.services.utilities.dto.DepartamentoDto;
import com.src.computec.radar.services.utilities.dto.DocumentoDto;
import com.src.computec.radar.services.utilities.dto.EstadoDespachoDto;
import com.src.computec.radar.services.utilities.dto.EstadoReclamoDto;
import com.src.computec.radar.services.utilities.dto.FileManagerDto;
import com.src.computec.radar.services.utilities.dto.InsertoDto;
import com.src.computec.radar.services.utilities.dto.MunicipioDto;
import java.util.List;

/**
 *
 * @author aocampo
 */
public class ConsultasHelper extends BaseHelper {
    
    /** Creates a new instance of ConsultasHelper */
    public ConsultasHelper() {
    }
    
    public LdapUserDto getLdapUserByPrimaryKey(LdapUserDto dto) throws ConsultasException {
        BaseLdapDAO dao = (BaseLdapDAO) this.getFactoryDAO().getLdapDAO();
        try {
            return dao.getLdapUserByPrimaryKey(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getLdapUserByPrimaryKey: " + e.toString());
        }
    }
    
    public List getAllAuditores() throws ConsultasException {
        BaseLdapDAO dao = (BaseLdapDAO) this.getFactoryDAO().getLdapDAO();
        try {
            return dao.getAllAuditores();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getAllAuditores: " + e.toString());
        }
    }
    
    public List getDestinatariosByCliente(String idCliente) throws ConsultasException {
        BaseLdapDAO dao = (BaseLdapDAO) this.getFactoryDAO().getLdapDAO();
        try {
            return dao.getDestinatariosByCliente(idCliente);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getDestinatariosByCliente: " + e.toString());
        }
    }
    
    public List getClientes() throws ConsultasException {
        BaseClienteDAO dao = (BaseClienteDAO) this.getFactoryDAO().getClienteDAO();
        try {
            return dao.getClientes();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getClientes: " + e.toString());
        }
    }
    
    public List getProductosByCliente(ClienteDto dto) throws ConsultasException {
        BaseProductoDAO dao = (BaseProductoDAO) this.getFactoryDAO().getProductoDAO();
        try {
            return dao.getProductosByCliente(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getProductosByCliente: " + e.toString());
        }
    }
    
    public List getParametrosBusquedaByCliente(ClienteDto dto) throws ConsultasException {
        BaseParametroBusquedaDAO dao = (BaseParametroBusquedaDAO) this.getFactoryDAO().getParametroBusquedaDAO();
        try {
            return dao.getParametrosBusquedaByCliente(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getParametrosBusquedaByCliente: " + e.toString());
        }
    }
    
    public List getParametrosBusquedaByProducto(ProductoDto dto) throws ConsultasException {
        BaseParametroBusquedaDAO dao = (BaseParametroBusquedaDAO) this.getFactoryDAO().getParametroBusquedaDAO();
        try {
            return dao.getParametrosBusquedaByProducto(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getParametrosBusquedaByProducto: " + e.toString());
        }
    }
    
    public List getDocumentosByEnvio(EnvioDto dto) throws ConsultasException {
        BaseDocumentoDAO dao = (BaseDocumentoDAO) this.getFactoryDAO().getDocumentoDAO();
        try {
            return dao.getDocumentosByEnvio(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getDocumentosByEnvio: " + e.toString());
        }
    }
    
    public List getInsertosByEnvio(EnvioDto dto) throws ConsultasException {
        BaseInsertoDAO dao = (BaseInsertoDAO) this.getFactoryDAO().getInsertoDAO();
        try {
            return dao.getInsertosByEnvio(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getInsertosByEnvio: " + e.toString());
        }
    }
    
    public List getEnvioMovimientoByEnvio(EnvioDto dto) throws ConsultasException {
        BaseEnvioMovimientoDAO dao = (BaseEnvioMovimientoDAO) this.getFactoryDAO().getEnvioMovimientoDAO();
        try {
            return dao.getEnvioMovimientoByEnvio(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getEnvioMovimientoByEnvio: " + e.toString());
        }
    }
    
    public List getTiposReclamo() throws ConsultasException {
        BaseTipoReclamoDAO dao = (BaseTipoReclamoDAO) this.getFactoryDAO().getTipoReclamoDAO();
        try {
            return dao.getTiposReclamo();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getTiposReclamo: " + e.toString());
        }
    }
    
    public List getPrioridadesReclamo() throws ConsultasException {
        BasePrioridadReclamoDAO dao = (BasePrioridadReclamoDAO) this.getFactoryDAO().getPrioridadReclamoDAO();
        try {
            return dao.getPrioridadesReclamo();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getPrioridadesReclamo: " + e.toString());
        }
    }
    
    public List getProveedoresEmpresaMensajeria() throws ConsultasException {
        BaseProveedorDAO dao = (BaseProveedorDAO) this.getFactoryDAO().getProveedorDAO();
        try {
            return dao.getProveedoresEmpresaMensajeria();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getProveedoresEmpresaMensajeria: " + e.toString());
        }
    }
    
    public List getProveedoresEmpresaPaqueteo() throws ConsultasException {
        BaseProveedorDAO dao = (BaseProveedorDAO) this.getFactoryDAO().getProveedorDAO();
        try {
            return dao.getProveedoresEmpresaPaqueteo();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getProveedoresEmpresaPaqueteo: " + e.toString());
        }
    }
    
    public List getNodosByProveedor(ProveedorDto dto) throws ConsultasException {
        BaseNodoDAO dao = (BaseNodoDAO) this.getFactoryDAO().getNodoDAO();
        try {
            return dao.getNodosByProveedor(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getNodosByProveedor: " + e.toString());
        }
    }
    
    public List getTiposEnvio() throws ConsultasException {
        BaseTipoEnvioDAO dao = (BaseTipoEnvioDAO) this.getFactoryDAO().getTipoEnvioDAO();
        try {
            return dao.getTiposEnvio();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getTiposEnvio: " + e.toString());
        }
    }
    
    public List getEstadosReclamo() throws ConsultasException {
        BaseEstadoReclamoDAO dao = (BaseEstadoReclamoDAO) this.getFactoryDAO().getEstadoReclamoDAO();
        try {
            return dao.getEstadosReclamo();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getEstadosReclamo: " + e.toString());
        }
    }
    
    public EstadoReclamoDto getEstadoReclamoByPrimaryKey(EstadoReclamoDto dto) throws ConsultasException {
        BaseEstadoReclamoDAO dao = (BaseEstadoReclamoDAO) this.getFactoryDAO().getEstadoReclamoDAO();
        try {
            return dao.getEstadoReclamoByPrimaryKey(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getEstadoReclamoByPrimaryKey: " + e.toString());
        }
    }
    
    public List getTiposDestino() throws ConsultasException {
        BaseTipoDestinoDAO dao = (BaseTipoDestinoDAO) this.getFactoryDAO().getTipoDestinoDAO();
        try {
            return dao.getTiposDestino();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getTiposDestino: " + e.toString());
        }
    }
    
    public List getTiposTarifa() throws ConsultasException {
        BaseTipoTarifaDAO dao = (BaseTipoTarifaDAO) this.getFactoryDAO().getTipoTarifaDAO();
        try {
            return dao.getTiposTarifa();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getTiposTarifa: " + e.toString());
        }
    }
    
    public List getInsertosByOrdenProceso(InsertoDto dto) throws ConsultasException {
        BaseInsertoDAO dao = (BaseInsertoDAO) this.getFactoryDAO().getInsertoDAO();
        try {
            return dao.getInsertosByOrdenProceso(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getInsertosByOrdenProceso: " + e.toString());
        }
    }
    
    public String getPathFileDownload(FileManagerDto dto) throws ConsultasException {
        BaseFileManagerDAO dao = (BaseFileManagerDAO) this.getFactoryDAO().getFileManagerDAO();
        try {
            return dao.getPathFileDownload(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getPathFileDownload: " + e.toString());
        }
    }
    
    public DocumentoDto getDocumentoByMinimunParameters(DocumentoDto dto) throws ConsultasException {
        BaseDocumentoDAO dao = (BaseDocumentoDAO) this.getFactoryDAO().getDocumentoDAO();
        try {
            return dao.getDocumentoByMinimunParameters(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getDocumentoByMinimunParameters: " + e.toString());
        }
    }
    
    public List getEstadosDespacho() throws ConsultasException {
        BaseEstadoDespachoDAO dao = (BaseEstadoDespachoDAO) this.getFactoryDAO().getEstadoDespachoDAO();
        try {
            return dao.getEstadosDespacho();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getEstadosDespacho: " + e.toString());
        }
    }
    
    public EstadoDespachoDto getEstadoDespachoByPrimaryKey(EstadoDespachoDto dto) throws ConsultasException {
        BaseEstadoDespachoDAO dao = (BaseEstadoDespachoDAO) this.getFactoryDAO().getEstadoDespachoDAO();
        try {
            return dao.getEstadoDespachoByPrimaryKey(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getEstadoDespachoByPrimaryKey: " + e.toString());
        }
    }
    
    public List getDepartamentos() throws ConsultasException {
        BaseDepartamentoDAO dao = (BaseDepartamentoDAO) this.getFactoryDAO().getDepartamentoDAO();
        try {
            return dao.getDepartamentos();
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getDepartamentos: " + e.toString());
        }
    }
    
    public List getMunicipiosByDepartamento(DepartamentoDto dto) throws ConsultasException {
        BaseMunicipioDAO dao = (BaseMunicipioDAO) this.getFactoryDAO().getMunicipioDAO();
        try {
            return dao.getMunicipiosByDepartamento(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getMunicipiosByDepartamento: " + e.toString());
        }
    }
    
    public List getCentrosPobladosByMunicipio(MunicipioDto dto) throws ConsultasException {
        BaseCentroPobladoDAO dao = (BaseCentroPobladoDAO) this.getFactoryDAO().getCentroPobladoDAO();
        try {
            return dao.getCentrosPobladosByMunicipio(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getCentrosPobladosByMunicipio: " + e.toString());
        }
    }
    
    public List getGestionEnvioByTipoGestionId(String tipoGestionId) throws ConsultasException {
        BaseGestionEnvioDAO dao = (BaseGestionEnvioDAO) this.getFactoryDAO().getGestionEnvioDAO();
        try {
            return dao.getGestionEnvioByTipoGestionEnvioId(tipoGestionId);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getGestionEnvioByTipoGestionId: " + e.toString());
        }
    }
    
    public ClienteDto getClienteByPrimaryKey(ClienteDto dto) throws ConsultasException 
    {
        BaseClienteDAO dao = (BaseClienteDAO) this.getFactoryDAO().getClienteDAO();
        try {
            return dao.getClienteByPrimaryKey(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getClienteByPrimaryKey: " + e.toString());
        }
    }
    
    public ProductoDto getProductoByPrimaryKey(ProductoDto dto) throws ConsultasException 
    {
        BaseProductoDAO dao = (BaseProductoDAO) this.getFactoryDAO().getProductoDAO();
        try {
            return dao.getProductoByPrimaryKey(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getProductoByPrimaryKey: " + e.toString());
        }
    }
    
     public List getSubProductos(ClienteDto cliDto,ProductoDto prDto) throws ConsultasException {
        BaseSubProductoDAO dao = (BaseSubProductoDAO) this.getFactoryDAO().getSubProductoDAO();
        try {
            return dao.getSubProductos(cliDto, prDto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getSubProductos: " + e.toString());
        }
    }
     
    public List getSegmentoProducto(ClienteDto cliDto,ProductoDto prDto) throws ConsultasException {
        BaseSegmentoProductoDAO dao = (BaseSegmentoProductoDAO) this.getFactoryDAO().getSegmentoProductoDAO();
        try {
            return dao.getSegmentoProducto(cliDto, prDto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getSegmentoProducto: " + e.toString());
        }
    }
    
    public List getCiclosByProducto(ProductoDto dto) throws ConsultasException 
    {
        BaseCicloDAO dao = (BaseCicloDAO) this.getFactoryDAO().getCicloDAO();
        try {
            return dao.getCiclosByProducto(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getCiclosByProducto: " + e.toString());
        }
    }
    
    public CicloDto getCicloByPrimaryKey(CicloDto dto) throws ConsultasException 
    {
        BaseCicloDAO dao = (BaseCicloDAO) this.getFactoryDAO().getCicloDAO();
        try {
            return dao.getCicloByPrimaryKey(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getCicloByPrimaryKey: " + e.toString());
        }
    }
    
    public List getCiclosDisponiblesForPlantillaByProducto(ProductoDto dto) throws ConsultasException 
    {
        BaseCicloDAO dao = (BaseCicloDAO) this.getFactoryDAO().getCicloDAO();
        try {
            return dao.getCiclosDisponiblesForPlantillaByProducto(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getCiclosDisponiblesForPlantillaByProducto: " + e.toString());
        }
    }
    
    public boolean existeOrdenProceso(String numeroOrden) throws ConsultasException 
    {
        BaseEmDao dao = (BaseEmDao) this.getFactoryDAO().getBaseEmDAO();
        try {
            return dao.existeNumOrden(numeroOrden);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:existeOrdenProceso: " + e.toString());
        }
    }
    
    public List getRegionalesByCliente(ClienteDto dto) throws ConsultasException {
        BaseClienteRegionalDAO dao = (BaseClienteRegionalDAO) this.getFactoryDAO().getClienteRegionalDAO();
        try {
            return dao.getRegionalesByCliente(dto);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:getRegionalesByCliente: " + e.toString());
        }
    }
    
    public boolean isEnvioExist(String codigoBarras) throws ConsultasException {
        BaseEnvioDAO dao = (BaseEnvioDAO) this.getFactoryDAO().getEnvioDAO();
        try {
            return dao.isEnvioExist(codigoBarras);
        }
        catch (DAOException e) {
            throw new ConsultasException("ConsultasHelper:isEnvioExist: " + e.toString());
        }
    }
}